/**
 * TetisDB
 *
 * Gravador de configuracoes em properties
 */

package br.com.tetisdb.io.domainConfig;

import br.com.tetisdb.lang.TetisObject;
import java.io.File;
import java.io.FileOutputStream;
import java.util.Properties;

import br.com.tetisdb.domain.TetisDomain;

public class ConfigIOWriter extends TetisObject {
    /**
     * Construtor padrao
     */
    public ConfigIOWriter() {
    }
    
    /**
     * Escreve a configuracao de um TetisDomain em arquivo.
     *
     * @param domain TetisDomain cuja a configuracao deva ser escrita.
     */
    public boolean setConfigureDomain(TetisDomain domain) {
        try {
            File file = new File(ConfigIOManager.pathConfig + ConfigIOManager.nameConfig);
            Properties props = new Properties();                        
            props.setProperty(ConfigIOManager.NAMEDOMAIN, domain.getConfigure().getNameDomain());
            props.setProperty(ConfigIOManager.TIMESNAPSHOT, String.valueOf(domain.getConfigure().getTimeSnapShot()));
            
            FileOutputStream fos = new FileOutputStream(file);
            props.store(fos, "Configurações do dominio: " + domain.getNameDomain());
            fos.close();
            
            return true;
        } catch (Exception ex) {
            tetisLogger.error("Erro ao gravar configuracoes. Erro: "+ex.getMessage(), ex);
        }
        
        return false;
    }
}
